package swing;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.text.SimpleDateFormat;
import java.util.Enumeration;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
import javax.swing.plaf.FontUIResource;

import ch.randelshofer.quaqua.QuaquaManager;



public class SwingMain extends JFrame {

	private JPanel contentPane;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		// 프로그램 아이콘 블러오기
		System.setProperty( 	// 룩앤필적용 1
				"Quaqua.tabLayoutPolicy","wrap");

		EventQueue.invokeLater(new Runnable() {
			public void run() {

				try {
					// 룩앤필적용2
					UIManager.setLookAndFeel(QuaquaManager.getLookAndFeel());
					Thread.sleep(2000);
					
					SwingMain frame = new SwingMain();
					frame.setLocationRelativeTo(null);
					// 화면 정중앙에 표시
					frame.setIconImage(initIcon());
					// JFrame에 사용할 아이콘 지정
					UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
		
	}

	/**
	 * Create the frame.
	 */
	public SwingMain() {
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setTitle("지루해");
		setBounds(500, 250, 450, 300);
		
		setResizable(false); 		//크기변경불가

		// JFrame에 메뉴바 추가
		setJMenuBar(new SwingMenu());
		//setUIFont(new FontUIResource("맑은 고딕",Font.BOLD,14));
		// 프로그램 전체 글꼴 지정
		// UIManager : 스윙에서 사용가능한 모든 컴퍼넌트에 관한 정보를 다루는 클래스
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		new SwingPopupMenu(contentPane); 		//팝업 메뉴 등록
		setContentPane(contentPane);
		
		contentPane.add(new SwingToolBar(),BorderLayout.NORTH); // 툴바 추가
		contentPane.add(new SwingstatusBar(), BorderLayout.SOUTH);
		
		
	}
	
	private static Image initIcon() {
		String image = "/images/icon2.png";
		// 아이콘으로 사용할 이미지가 있는 위치
		Image icon = new ImageIcon(SwingMain.class.getResource(image)).getImage();
		return icon;
	}
		
		// FontUIResource를 이용해서
		// 프로그램 전체 글꼴 변경하기
		private void setUIFont(FontUIResource fuir){
			Enumeration<Object> keys = 
					UIManager.getDefaults().keys();
			// 모든 스윙 컴퍼넌트 이름을 keys에 저장 
			
			while(keys.hasMoreElements()){
				Object key = keys.nextElement();
				Object val = UIManager.get(key);
				// 컴퍼넌트의 속성과 속성값을 읽어옴 
				if(val != null && val instanceof FontUIResource)
					// 속성이 폰트와 관련있으면
					// 사용자가 지정한 글꼴로 변경
					UIManager.put(key, fuir);
		}
	
	}
}


